home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmiSoft / Dev / Gui / Cit.lha / CIT / citra / CITGetFont.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-02-13  |  3.9 KB  |  132 lines

  1. //
  2. //                    CITGetFont include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2003.02.12
  7. //
  8.  
  9. #ifndef CITGETFONT_H
  10. #define CITGETFONT_H TRUE
  11.  
  12. #include "CITGadget.h"
  13.  
  14. #include <gadgets/getfont.h>
  15.  
  16. //
  17. // This enum is for internal use only
  18. //
  19. enum
  20. {
  21.   CITGETFONT_TEXTATTR = 0,
  22.   CITGETFONT_DOFRONTPEN,
  23.   CITGETFONT_DOBACKPEN,
  24.   CITGETFONT_DOSTYLE,
  25.   CITGETFONT_DODRAWMODE,
  26.   CITGETFONT_MINHEIGHT,
  27.   CITGETFONT_MAXHEIGHT,
  28.   CITGETFONT_FIXEDWIDTHONLY,
  29.   CITGETFONT_TITLETEXT,
  30.   CITGETFONT_HEIGHT,
  31.   CITGETFONT_WIDTH,
  32.   CITGETFONT_LEFTEDGE,
  33.   CITGETFONT_TOPEDGE,
  34.   CITGETFONT_FRONTPEN,
  35.   CITGETFONT_BACKPEN,
  36.   CITGETFONT_DRAWMODE,
  37.   CITGETFONT_MAXFRONTPEN,
  38.   CITGETFONT_MAXBACKPEN,
  39.   CITGETFONT_MODELIST,
  40.   CITGETFONT_FRONTPENS,
  41.   CITGETFONT_BACKPENS,
  42.   CITGETFONT_LAST
  43. };
  44.  
  45. class CITGetFont:public CITGadget
  46. {
  47.   public:
  48.     CITGetFont();
  49.     ~CITGetFont();
  50.  
  51.     void TextAttr(struct TextAttr* attr)
  52.            {setTag(CITGETFONT_TEXTATTR,GETFONT_TextAttr,ULONG(attr));}
  53.     void DoFrontPen(BOOL b = TRUE)
  54.            {setTag(CITGETFONT_DOFRONTPEN,GETFONT_DoFrontPen,b);}
  55.     void DoBackPen(BOOL b = TRUE)
  56.            {setTag(CITGETFONT_DOBACKPEN,GETFONT_DoBackPen,b);}
  57.     void DoStyle(BOOL b = TRUE)
  58.            {setTag(CITGETFONT_DOSTYLE,GETFONT_DoStyle,b);}
  59.     void DoDrawMode(BOOL b = TRUE)
  60.            {setTag(CITGETFONT_DODRAWMODE,GETFONT_DoDrawMode,b);}
  61.     void FontMinHeight(UWORD min)
  62.            {setTag(CITGETFONT_MINHEIGHT,GETFONT_MinHeight,min);}
  63.     void FontMaxHeight(UWORD max)
  64.            {setTag(CITGETFONT_MAXHEIGHT,GETFONT_MaxHeight,max);}
  65.     void FixedWidthOnly(BOOL b = TRUE)
  66.            {setTag(CITGETFONT_FIXEDWIDTHONLY,GETFONT_FixedWidthOnly,b);}
  67.     void RequesterTitleText(char* text)
  68.            {setTag(CITGETFONT_TITLETEXT,GETFONT_TitleText,ULONG(text));}
  69.     void RequesterLeftEdge(WORD x)
  70.            {setTag(CITGETFONT_LEFTEDGE,GETFONT_LeftEdge,x);}
  71.     void RequesterTopEdge(WORD y)
  72.            {setTag(CITGETFONT_TOPEDGE,GETFONT_TopEdge,y);}
  73.     void RequesterWidth(WORD w)
  74.            {setTag(CITGETFONT_WIDTH,GETFONT_Width,w);}
  75.     void RequesterHeight(WORD h)
  76.            {setTag(CITGETFONT_HEIGHT,GETFONT_Height,h);}
  77.     void FrontPen(UBYTE pen)
  78.            {setTag(CITGETFONT_FRONTPEN,GETFONT_FrontPen,pen);}
  79.     void BackPen(UBYTE pen)
  80.            {setTag(CITGETFONT_BACKPEN,GETFONT_BackPen,pen);}
  81.     void DrawMode(UBYTE mode)
  82.            {setTag(CITGETFONT_DRAWMODE,GETFONT_DrawMode,mode);}
  83.     void MaxFrontPen(UBYTE pen)
  84.            {setTag(CITGETFONT_MAXFRONTPEN,GETFONT_MaxFrontPen,pen);}
  85.     void MaxBackPen(UBYTE pen)
  86.            {setTag(CITGETFONT_MAXBACKPEN,GETFONT_MaxBackPen,pen);}
  87.     void ModeList(char** mode)
  88.            {setTag(CITGETFONT_MODELIST,GETFONT_ModeList,ULONG(mode));}
  89.     void FrontPens(UBYTE* pens)
  90.            {setTag(CITGETFONT_FRONTPENS,GETFONT_FrontPens,ULONG(pens));}
  91.     void BackPens(UBYTE* pens)
  92.            {setTag(CITGETFONT_BACKPENS,GETFONT_BackPens,ULONG(pens));}
  93.  
  94.     struct TextAttr*  TextAttr()
  95.            { return (struct TextAttr*)getTag(GETFONT_TextAttr); }
  96.     WORD  RequesterLeftEdge()
  97.            { return getTag(GETFONT_LeftEdge); }
  98.     WORD  RequesterTopEdge()
  99.            { return getTag(GETFONT_TopEdge); }
  100.     WORD  RequesterWidth()
  101.            { return getTag(GETFONT_Width); }
  102.     WORD  RequesterHeight()
  103.            { return getTag(GETFONT_Height); }
  104.     WORD  FrontPen()
  105.            { return getTag(GETFONT_FrontPen); }
  106.     WORD  BackPen()
  107.            { return getTag(GETFONT_BackPen); }
  108.     WORD  DrawMode()
  109.            { return getTag(GETFONT_DrawMode); }
  110.     WORD  SoftStyle()
  111.            { return getTag(GETFONT_SoftStyle); }
  112.  
  113.     void RequestFont();
  114.  
  115.   protected:
  116.     virtual BOOL    Create(CITWindow* CITWd,CITContainer* parent);
  117.     virtual Object* NewObjectA(TagItem* tags);
  118.  
  119.   private:
  120.     void  setTag(int index,ULONG attr,ULONG val);
  121.     ULONG getTag(ULONG attr);
  122.  
  123.     TagItem* getFontTag;
  124. };
  125.  
  126. enum
  127. {
  128.   GETFONTCLASS_FLAGBITUSED = GADGETCLASS_FLAGBITUSED
  129. };
  130.  
  131. #endif
  132.